Pour aller plus loin (Ancien programme) - STI2D/STL
L'algorithmique
Exercice 1 : Identifier les lignes à erreur de l'algorithme 1 - Python
On écrit un algorithme Python pour obtenir les racines d’un polynôme du second degré de la forme \( ax^2+bx+c \).
Cependant, l'algorithme ne renvoie pas le résultat souhaité, il doit comporter des erreurs.
01 | import math
02 | float(input('Rentrez la valeur de a : '))
03 | b = float(input('Rentrez la valeur de b : '))
04 | c = float(input('Rentrez la valeur de c : '))
05 | delta = b + 4 * a * c
06 | if delta = 0:
07 | result = [(-b - math.sqrt(delta)) / (2 * a), (-b + math.sqrt(delta)) / (2 * a)]
08 | elif delta == 0:
09 | result = -b / (2 * a)
10 | else:
11 | result = None
12 | print(result)
Identifier la ou les lignes comportant des erreurs :
Exercice 2 : Initiation - Trois variables, deux lectures, un calcul - Python
On considère l'algorithme ci-dessous :
a = int(input('Rentrez la valeur de a : '))
b = int(input('Rentrez la valeur de b : '))
N = 5*a + b
print(N)
Si l'utilisateur entre les valeurs \(a=2\) et \(b=4\), quelle est la valeur affichée en sortie ?
Exercice 3 : Implémenter en Python une somme de termes (d'indices variant de 1 à N)
Compléter la fonction Python suivante pour qu’elle renvoie le résultat de :
\[ 1^2 + 2^2 + ... + 119^2 \]
La fonction ne doit pas afficher le résultat avec print().
Exercice 4 : Etapes avec boucle Tant que (reste de division) - Python
On considère l'algorithme ci-dessous :
a = int(input('Rentrez la valeur de a : '))
b = int(input('Rentrez la valeur de b : '))
while a > b:
a = a - b
print(a)
Faire fonctionner l'algorithme précédent pour \(a=46\), \(b=18\) et résumer les résultats obtenus à chaque étape dans le tableau ci-dessous.
Exercice 5 : Etapes avec boucle Pour - Python
On considère l'algorithme ci-dessous :
S = 0
N = int(input('Rentrez la valeur de N : '))
for i in range(0, N + 1):
S = S + 3*i
print(S)
Faire fonctionner l'algorithme précédent pour \(N=4\) et résumer les résultats obtenus à chaque étape dans le tableau ci-dessous.